「簡単に始めるSnowflakeの機械学習」というタイトルでDevelopersIO 2024 Odysseyに登壇しました #cm_odyssey #devio2024
データ事業本部 インテグレーション部 機械学習チームの鈴木です。
「簡単に始めるSnowflakeの機械学習」というタイトルでDevelopersIO 2024 Odysseyに登壇しましたので、資料を公開します。
登壇資料
以下のスライドになります。
ポイント
1. 紹介した機能
Snowpark MLおよびSnowflake AI & MLの機能について、特に分析に関わるものをご紹介しました。
Snowpark MLは1年以上前からある機能ですが、昨年12月にML Modeling APIがGAに、今年5月にModel RegistryがGAと、着々と環境が整ってきています。
Snowflake AI & MLはML Functionsは異常検知と時系列予測の機能がGAとなっています。海外のリージョンではありますが、LLMを使った機能もでてきており、非常に多くの機能を備えています。
2. 実行のためのインターフェース
直近でSnowflake Notebooksがパブリックプレビューとなっているのでご紹介しました。
この機能が登場するまでは、ノートブックによる開発をしたい場合ローカルにJupyter Notebook環境を構築し、ネットワーク越しにアクセスする必要がありました。この機能はSnowsightから利用できるネイティブのノートブックから、Python・SQL両方のコードを実行できる優れものとなっています。
以下の記事でも使い心地をご紹介しています。
手軽にPythonやSQLを実行できるインターフェースとして以前からWorksheetについてもご紹介しました。
3. Model Registryについて
Snowpark MLのModel Registryについて、特徴をご紹介しました。
ML Modeling APIで訓練したモデルなどを登録できるレジストリになります。登録したモデルはPythonだけではなくSQLからも呼び出しできます。
Model Registryの非常に良い点として、機械学習パイプラインごとバージョン管理して登録できる点があると考えています。例えばOne-HotエンコーディングなどはSQLではカテゴリ値のバリエーションが増えた際に保守が大変ですが、機械学習パイプラインに組み込んでおき、パイプラインごとModel Registryに登録することで、SQLからは気にせず利用することができます。
また、Model Registryが登場する以前は、以下の記事のように訓練したモデルをscikit-learnのインスタンスに変換し、UDFとして登録する必要がありましたが、これも不要になりました。
4. ML Functionsの紹介
SQLからマネージドの機械学習機能を利用できるML Functionsについても、改めてご紹介しました。
現時点では4つある機能のうち、時系列予測と異常検知に関するものがGAとなっています。
モデルは組み込みのものになるため、よりカスタマイズ性高く使いたい場合はSnowpark MLを利用することになりますが、そうでない場合は非常に強力な選択肢になると思います。特に時系列予測などモデル構築により専門性が必要なタスクについて、このような機能が提供されているので、Snowflakeに格納したデータの利用幅を大きく広げる機能だと思います。
最後に
急速に進化しているSnowflakeのAI・ML機能について、特に従来の機械学習アルゴリズムを扱うものに焦点をあててご紹介しました。
Snowflakeは構築・データの共有・運用の観点でとても便利な製品だと思いますが、やはりデータは活用してこそということで、発展的なデータ分析手段である機械学習をネイティブにこれだけ幅広くサポートしているのは大きな魅力だと思います。
数々の機能がGAされてきており、昨年と状況も変わっています。Snowflakeに格納したデータの機械学習での利用について、改めて俯瞰する材料になりましたら幸いです。